package com.qmai.openapi;

import com.qmai.util.dto.Result;

/**
 * create by WG on 2020/7/24 16:36
 *
 * @author WangGang
 */
public interface QPayClient {

	/**
	 * 执行请求
	 *
	 * @param method 接口名称
	 * @param request 请求参数
	 * @param tClass  请求返回类型
	 * @param <T>     请求返回类型泛型
	 * @return 返回结果
	 */
	<T> Result<T> execute(String method, QmaiRequest request, Class<T> tClass);

	/**
	 * 执行请求
	 *
	 * @param request    请求参数
	 * @param tClass     请求返回类型
	 * @param httpMethod 请求的方法类型
	 * @param <T>        请求返回类型泛型
	 * @return 返回结果
	 * @parammethod 接口名称
	 */
	<T> Result<T> execute(String method, QmaiRequest request, Class<T> tClass, HttpMethod httpMethod);
}
